package com.ushine.design.design.c_behavioral_pattern.a_chain_of_responsibility.b_example;

public class Client {
    public static void main(String[] args) {
        Approver wjzhang, gyang, jguo, meeting;

        wjzhang = new Director("张无忌");
        gyang = new VicePresident("杨过");
        jguo = new President("郭靖");
        meeting = new Congress("董事会");

        //创建职责链
        wjzhang.setSuccessor(gyang);
        gyang.setSuccessor(jguo);
        jguo.setSuccessor(meeting);

        PurchaseRequest pr00 = new PurchaseRequest(45000, 10001, "购买倚天剑");
        wjzhang.processRequest(pr00);

        PurchaseRequest pr01 = new PurchaseRequest(60000, 10002, "购买《葵花宝典》");
        wjzhang.processRequest(pr01);

        PurchaseRequest pr02 = new PurchaseRequest(160000, 10003, "购买《金刚经》");
        wjzhang.processRequest(pr02);

        PurchaseRequest pr03 = new PurchaseRequest(800000, 10004, "购买桃花岛");
        wjzhang.processRequest(pr03);
    }

}
